package com.suanfa.sort;

import com.suanfa.util.ArrayUtils;

/**
 *插入排序， 元素跟之前的元素对比，元素小于当前元素，则调换位置（同前一元素挨个交换）
 */
public class InsertSort {

    public static void main(String[] args) {
        //int[] arr={ 49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2, 0, -1, 22};
        int[] arr={ 49, 38, 30, 97, 20};
        f1(arr);
        ArrayUtils.printArray(arr);
    }


    public static void insertSort(int[] arr){
        for(int i=1; i< arr.length; i++){
            int cur = arr[i];
            for(int j = i-1; j>=0; j--){
                int toCompare = arr[j];
                if(cur < toCompare){
                    arr[j+1] = toCompare;
                    arr[j] = cur;
                }
            }
        }



    }

    public static void f1(int[] arr){
        for(int i=1; i< arr.length; i++){
            int temp = arr[i];
            for(int j = i -1; j>=0; j--){
                if(arr[j] > temp){
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
}
